This patch is original to Guix, ongoing work to upstream bits as possible.

From 9acc56db5e7469f5976be38b52ba4993de98ee38 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Sun, 17 Jan 2021 13:27:17 +0200
Subject: [PATCH] devendor-dependants

---
 meson.build | 84 +++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 66 insertions(+), 18 deletions(-)

diff --git a/meson.build b/meson.build
index f6bf242..bded4af 100644
--- a/meson.build
+++ b/meson.build
@@ -9,8 +9,13 @@ project('freebayes', ['cpp', 'c'],
 
 zlib_dep = dependency('zlib')
 lzma_dep = dependency('liblzma')
+simde_dep = dependency('simde')
 bzip2_dep = dependency('bz2lib', required: false)
 htslib_dep = dependency('htslib', required : false)
+tabixpp_dep = dependency('tabixpp', required : false)
+fastahack_dep = dependency('fastahack', required : false)
+smithwaterman_dep = dependency('smithwaterman', required : false)
+vcflib_dep = dependency('vcflib', required: false)
 thread_dep = dependency('threads')
 
 if htslib_dep.found()
@@ -59,6 +64,56 @@ else
 ]
 endif
 
+if tabixpp_dep.found()
+  tabixpp_includes = ''
+  tabixpp_src = []
+else
+  tabixpp_includes = [
+    'vcflib/tabixpp',
+    ]
+  tabixpp_src = [
+    'vcflib/tabixpp/tabix.cpp',
+    ]
+endif
+
+if vcflib_dep.found()
+  vcflib_includes = ''
+  vcflib_src = []
+else
+  vcflib_includes = [
+    'vcflib/src',
+    'vcflib/multichoose',
+    'vcflib/filevercmp',
+    ]
+  vcflib_src = [
+    'vcflib/src/Variant.cpp',
+    ]
+endif
+
+if fastahack_dep.found()
+  fastahack_src = []
+else
+  fastahack_src = [
+    'vcflib/fastahack/Fasta.cpp',
+    'vcflib/src/split.cpp',
+    ]
+endif
+
+if smithwaterman_dep.found()
+  smithwaterman_includes = ''
+  smithwaterman_src = []
+else
+  smithwaterman_includes = [
+    'vcflib/smithwaterman',
+    ]
+  smithwaterman_src = [
+    'vcflib/smithwaterman/SmithWatermanGotoh.cpp',
+    'vcflib/smithwaterman/disorder.cpp',
+    'vcflib/smithwaterman/Repeats.cpp',
+    'vcflib/smithwaterman/LeftAlign.cpp',
+    'vcflib/smithwaterman/IndelAllele.cpp',
+    ]
+endif
 
 
 #
@@ -105,23 +160,18 @@ seqlib_src = [
 ]
 
 vcflib_src = [
-    'vcflib/tabixpp/tabix.cpp',
-    'vcflib/src/Variant.cpp',
-    'vcflib/smithwaterman/SmithWatermanGotoh.cpp',
-    'vcflib/smithwaterman/disorder.cpp',
-    'vcflib/smithwaterman/Repeats.cpp',
-    'vcflib/smithwaterman/LeftAlign.cpp',
-    'vcflib/smithwaterman/IndelAllele.cpp',
+    vcflib_src,
+    tabixpp_src,
+    smithwaterman_src,
 ]
 
 bamleftalign_src = [
     'src/bamleftalign.cpp',
     'src/IndelAllele.cpp',
     'contrib/SeqLib/src/BamWriter.cpp',
-    'vcflib/fastahack/Fasta.cpp',
-    'vcflib/smithwaterman/LeftAlign.cpp',
-    'vcflib/smithwaterman/IndelAllele.cpp',
-    'vcflib/src/split.cpp',
+    fastahack_src,
+    smithwaterman_src,
+    vcflib_src,
     'src/LeftAlign.cpp',
 ]
 
@@ -134,11 +184,9 @@ incdir = include_directories(
     'ttmath',
     'contrib',
     'contrib/SeqLib',
-    'vcflib/src',
-    'vcflib/tabixpp',
-    'vcflib/smithwaterman',
-    'vcflib/multichoose',
-    'vcflib/filevercmp')
+    tabixpp_includes,
+    smithwaterman_includes,
+    vcflib_includes)
 
 c_args = ['-fpermissive','-w']
 cpp_args = ['-fpermissive','-w','-Wc++14-compat']
@@ -152,7 +200,7 @@ executable('freebayes',
            include_directories : incdir,
            cpp_args : cpp_args,
            c_args :   c_args,
-           dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep],
+           dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, smithwaterman_dep, vcflib_dep, thread_dep],
            install: true
           )
 
@@ -165,7 +213,7 @@ executable('bamleftalign',
            include_directories : incdir,
            cpp_args : cpp_args,
            c_args :   c_args,
-           dependencies: [zlib_dep, lzma_dep, htslib_dep, thread_dep],
+           dependencies: [zlib_dep, lzma_dep, simde_dep, htslib_dep, tabixpp_dep, fastahack_dep, smithwaterman_dep, vcflib_dep, thread_dep],
            install: true
           )
 
-- 
2.30.0

